
'''
#infor = {键:值,键:值}
infor = {"name":"班长","addr":"山东","age":18}
print("%s %s %d"%(infor["name"],infor["addr"],infor["age"]))
#名片管理系统
print("-"*50)
print("1、添加")
print("2、删除")
print("3、修改")
print("4、查询")
print("5、显示所有")
print("6、退出")
print("-"*50)

card_list = []

while True:
    #获取用户的功能号
    num = int(input("请输入选择的功能："))

    #进行判断，并执行相应的功能
    if num == 1:
        new_name = input("请输入要添加的名字:")
        new_qq = input("请输入要添加的qq:")
        new_tele = input("请输入要添加的电话:")
        new_addr = input("请输入要添加的地址:")
        new_card = {"name":new_name,"qq":new_qq,"tele":new_tele,"addr":new_addr}
        card_list.append(new_card)
    elif num == 2:
        del_name = input("请输入你要删除的名片姓名:")

    elif num == 3:
        pass
    elif num == 4:
        pass
    elif num == 5:
        pass
    elif num == 6:
        break
    else:
        print("输入有误，请重新输入......")

 infor = {"name":"zhangsan"}
infor["age"] = 20
infor["qq"] = 101010
del infor["age"]
infor["qq"] = 202020
#查询
print(infor.get("qq"))





infor = {"name":"laowang","age":30}
len(infor)
#遍历列表
print(infor.keys())
print(infor.values())
for temp in infor.keys():
    print(temp)
infor.items()
for temp in infor.items():
    print(temp)
for temp in infor.items():
    print("key = %s,value = %s"%(temp[0],temp[1]))
for A,B in infor.items():
    print("key = %s,value = %s"%(A,B))

'''
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
#把数据放入dict可以初始化指定，还可以通过key放入
d['Adam'] = 88
#一个key只能对应一个value，多次对一个key放入value会覆盖
d['Jack'] = 90
d['Jack'] = 80
#如果key不存在，dict就会报错
#判断key是否存在的方法
#1
'Thomas' in d
#2   key不存在，返回None或者自己指定的值
d.get('Thomas')
d.get('Thomas',-1)
#删除
d.pop('Bob')
print(d)

#dict是用空间换时间的一种方法
#dict的key必须是不可变对象
#dict根据key来计算value的存储位置,这个通过key计算位置的算法称为哈希算法（Hash）
#字符串和整数都是不可变的，list可变


#set
#set中是一组key的集合，但是不存储value，set中没有重复的key
s = set([1,2,3])
print(s)
s.add(4)
s.remove(4)

s1 = ([1,2,3])
s2 = ([2,3,4])
s1&s2   #取交集
s1|s2   #取并集

#可变对象和不变对象
#可变对象
a = ['c','b','a']
a.sort()
print(a)
#不可变对象
a = 'abc'
a.replace('a','A')
print(a)

a = 'abc'
b = a.replace('a','A')
print(a)
print(b)





